using UnityEngine;

public class Zombie : Enemy
{
    public Transform hostTransform; // 主机的Transform引用，用于导航

    private void Update()
    {
        // 每帧调用Move方法，使病毒向主机移动
        Move();
        AttackHost();
    }

    // 重写Enemy类中的Move方法
    public override void Move()
    {
        if (hostTransform != null)
        {
            // 计算主机与僵尸病毒之间的方向
            Vector3 direction = (hostTransform.position - transform.position).normalized;

            // 移动僵尸病毒
            transform.position += direction * moveSpeed * Time.deltaTime;
        }
        else
        {
            Debug.LogWarning("ZombieVirus: Host transform is not set.");
        }
    }

    // 重写Enemy类中的AttackHost方法
    public override void AttackHost()
    {
        // 检查是否接触到主机
        if (hostTransform != null && Vector3.Distance(transform.position, hostTransform.position) <= 0.1f)
        {
            // 执行感染逻辑
            InfectHost();
        }
    }

    private void InfectHost()
    {
        // 这里可以添加感染主机的具体逻辑
        Debug.Log("Host infected by Zombie Virus!");
    
        // 感染后销毁病毒对象
        Die();
    }
    private void OnTriggerEnter(Collider other)
    {
        // 检查碰撞对象是否是防火墙
        if (other.CompareTag("Firewall"))
        {
            Die();
        }
    }

    
}

